Rows: 19,025
Columns: 17
$ cntry             <chr> "AT", "AT", "AT", "AT", "AT", "AT", "AT", "AT", "AT"…
$ ccnthum           <chr> "Principalmente humano", "Igualmente natural y human…
$ ccrdprs           <chr> "4", "Mucho", "8", "6", "Mucho", "8", "7", "8", "2",…
$ wrclmch           <chr> "Muy preocupado", "Extremadamente preocupado", "Extr…
$ gndr              <fct> Hombre, Mujer, Mujer, Mujer, Hombre, Mujer, Mujer, M…
$ agea              <dbl> 65, 21, 53, 78, 64, 59, 77, 52, 75, 44, 49, 63, 76, …
$ eisced            <chr> "Secundaria alta alta", "Terciaria baja", "Terciaria…
$ impricha          <chr> "No parecido a mi", "Un poco parecido a mi", "Un poc…
$ ipeqopta          <chr> "Parecido a mi", "Parecido a mi", "Muy parecido a mi…
$ ipmodsta          <chr> "Parecido a mi", "Parecido a mi", "Algo parecido a m…
$ impfuna           <chr> "Algo parecido a mi", "Parecido a mi", "Parecido a m…
$ impenva           <chr> "Parecido a mi", "Muy parecido a mi", "Muy parecido …
$ age_group         <fct> 3a Edad, Juventud, Madurez, 4a Edad, Madurez, Madure…
$ region            <fct> Centro Europa, Centro Europa, Centro Europa, Centro …
$ education_level   <fct> Medio, Alto, Alto, Alto, Medio, Alto, Medio, Alto, M…
$ wrclmch_segmented <fct> Alto, Alto, Alto, Alto, Alto, Alto, Medio, Alto, Baj…
$ ccrdprs_segmented <fct> Medio, Alto, Alto, Medio, Alto, Alto, Medio, Alto, B…

Page 1

Row

Edad media

52.1

Nivel de preocupación general por el cambio climático

Algo preocupado

Nivel de responsabilidad hacia la reducción del cambio climático

Medio

Row

Distribución por Género

Distribución por Nivel de Educación

Page 2

Row

Column

Causas del Cambio Climático y Nivel de Preocupación por el Cambio Climático

Causas del Cambio Climático y Nivel de Responsabilidad Personal para reducirlo

Row {data-height=50%} ————————————-

Column

Causas del Cambio Climático y Grupos de Edad

Nivel de Responsabilidad Personal y Nivel de Educación

Page 3

Row {data-height=400}

Nivel de Responsabilidad Personal y Género

---
title: "Creencias, actitudes y valores hacia el cambio climático"
output: 
  flexdashboard::flex_dashboard:
    orientation: rows
    vertical_layout: fill
    social: menu
    source_code: embed
---

```{r setup, include=FALSE}
library(flexdashboard)
library(tidyverse)
library(plotly)
library(leaflet)
library(ggplot2)

# Ajustar opciones globales de knitr para suprimir mensajes y avisos
knitr::opts_chunk$set(
  message = FALSE,
  warning = FALSE
)

# Establecer el directorio de trabajo de forma persistente
knitr::opts_knit$set(root.dir = "C:/Users/Iuliu/Documents/PROYECTOCD")
```
```{r load-data}
# Leer el archivo CSV desde la subcarpeta '1_Datos'
datos <- read_csv("1_Datos/3_Datos_depurados.csv")

# Leer el archivo CSV desde la subcarpeta '1_Datos'
datos <- read_csv("1_Datos/3_Datos_depurados.csv", col_types = cols(
  cntry = col_character(),
  ccnthum = col_character(),
  ccrdprs = col_character(),
  wrclmch = col_character(),
  gndr = col_character(),
  agea = col_double(),
  eisced = col_character(),
  impricha = col_character(),
  ipeqopta = col_character(),
  ipmodsta = col_character(),
  impfuna = col_character(),
  impenva = col_character(),
  age_group = col_character(),
  region = col_character(),
  education_level = col_character(),
  wrclmch_segmented = col_character(),
  ccrdprs_segmented = col_character()
), show_col_types = FALSE)

# Convertir columnas a factores
datos <- datos %>%
  mutate(
    gndr = factor(gndr, levels = c("Hombre", "Mujer")),
    wrclmch_segmented = factor(wrclmch_segmented, levels = c("Bajo", "Medio", "Alto")),
    ccrdprs_segmented = factor(ccrdprs_segmented, levels = c("Bajo", "Medio", "Alto")),
    age_group = factor(age_group, levels = c("Juventud", "Juventud Adulta", "Adultez", "Madurez", "3a Edad", "4a Edad")),
    region = factor(region, levels = c("Nord Oeste", "Nord Este", "Nord Europa", "Centro Europa", "Sud Este")),
    education_level = factor(education_level, levels = c("Bajo", "Medio", "Alto"))
  )

# Filtrar datos eliminando la opción de "No creo que el cambio climatico este ocurriendo" y valores NA
filtered_data <- datos %>% 
  filter(ccnthum != "No creo que el cambio climatico este ocurriendo" & 
         !is.na(wrclmch_segmented) & 
         !is.na(ccrdprs_segmented) & 
         !is.na(age_group) & 
         !is.na(education_level) & 
         !is.na(gndr))

# Verificar la estructura de los datos
glimpse(datos)

```

Page 1
=====================================

Row {data-height=50}
-----------------------------------------------------------------------

### Edad media

```{r}
edad_media <- mean(datos$agea, na.rm = TRUE)
valueBox(round(edad_media, 1), "Media de Edad", icon = "fa-users", color = "#AFEEEE")
```
### Nivel de preocupación general por el cambio climático
```{r}
preocupacion_mas_frecuente <- names(sort(table(datos$wrclmch), decreasing = TRUE))[1]
valueBox(preocupacion_mas_frecuente, "Preocupación más frecuente por el cambio climático", icon = "fa-leaf", color = "#AFEEEE")
```
### Nivel de responsabilidad hacia la reducción del cambio climático
```{r}
responsabilidad_mas_frecuente <- names(sort(table(datos$ccrdprs_segmented), decreasing = TRUE))[1]
valueBox(responsabilidad_mas_frecuente, "Nivel de responsabilidad personal general para reducir el cambio climático", icon = "fa-hand-paper", color = "#AFEEEE")
```

Row {data-height=50}
-----------------------------------------------------------------------

### Distribución por Género


```{r}

data_genero <- datos %>%
  count(gndr) %>%
  mutate(percentage = n / sum(n) * 100)

plot_ly(data_genero, labels = ~gndr, values = ~percentage, type = 'pie', 
        textinfo = 'label+percent', insidetextorientation = 'radial',
        marker = list(colors = c('#B0C4DE', '#D8BFD8')))
```

### Distribución por Nivel de Educación

```{r}

data_educacion <- datos %>%
  count(education_level) %>%
  mutate(percentage = n / sum(n) * 100)

plot_ly(data_educacion, labels = ~education_level, values = ~percentage, type = 'pie', 
        textinfo = 'label+percent', insidetextorientation = 'radial',
        marker = list(colors = c('#ADD8E6', '#87CEFA', '#4682B4')))

```
Page 2
=====================================

Row {data-height=50%}
-------------------------------------

Column {data-width=50%}
-------------------------------------

### Causas del Cambio Climático y Nivel de Preocupación por el Cambio Climático

```{r}
# Filtrar datos eliminando la opción de "No creo que el cambio climático esté ocurriendo" y valores NA
filtered_data <- datos %>% 
  filter(ccnthum != "No creo que el cambio climatico este ocurriendo" & !is.na(wrclmch_segmented))

# Crear el gráfico con un gradiente de colores vibrantes y distinguibles para el nivel de preocupación
ggplot(filtered_data, aes(x = ccnthum, fill = factor(wrclmch_segmented, levels = c("Bajo", "Medio", "Alto")))) +
  geom_bar(position = "stack", stat = "count") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(x = "Causa del Cambio Climatico", y = "Conteo", fill = "Nivel de Preocupacion") +
  scale_fill_manual(values = c("Bajo" = "#a1dab4", "Medio" = "#41b6c4", "Alto" = "#2c7fb8")) +
  guides(fill = guide_legend(reverse = FALSE)) # Asegura que la leyenda esté en el orden correcto

```


### Causas del Cambio Climático y Nivel de Responsabilidad Personal para reducirlo
```{r}
# Crear el gráfico con un gradiente de colores vibrantes y diferenciados para el nivel de responsabilidad personal
ggplot(filtered_data, aes(x = ccnthum, fill = factor(ccrdprs_segmented, levels = c("Bajo", "Medio", "Alto")))) +
  geom_bar(position = "stack", stat = "count") +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) +
  labs(x = "Causa del Cambio Climatico", y = "Conteo", fill = "Nivel de Responsabilidad") +
  scale_fill_manual(values = c("Bajo" = "#fdcc8a", "Medio" = "#fc8d59", "Alto" = "#d7301f")) +
  guides(fill = guide_legend(reverse = FALSE)) # Asegura que la leyenda esté en el orden correcto

```
Row {data-height=50%}
-------------------------------------

Column {data-width=50%}
-------------------------------------

### Causas del Cambio Climático y Grupos de Edad

```{r}
# Crear el gráfico de barras apiladas para causas y grupos de edad
ggplot(filtered_data, aes(x = age_group, fill = ccnthum)) +
  geom_bar(position = "stack", stat = "count") +
  theme_minimal() +
  labs(x = "Grupo de Edad", y = "Numero de Respuestas", fill = "Causa del Cambio Climatico") +
  scale_fill_manual(values = c("Procesos naturales" = "blue", 
                                "Principalmente natural" = "cyan", 
                                "Igualmente natural y humano" = "green", 
                                "Principalmente humano" = "orange", 
                                "Completamente humano" = "red"))
```

### Nivel de Responsabilidad Personal y Nivel de Educación
```{r}
# Crear el gráfico con un gradiente de colores vibrantes y diferenciados para el nivel de responsabilidad personal
ggplot(filtered_data, aes(x = education_level, fill = factor(ccrdprs_segmented, levels = c("Bajo", "Medio", "Alto")))) +
  geom_bar(position = "stack", stat = "count") +
  theme_minimal() +
  labs(x = "Nivel de Educacion", y = "Conteo", fill = "Nivel de Responsabilidad") +
  scale_fill_manual(values = c("Bajo" = "#fdcc8a", "Medio" = "#fc8d59", "Alto" = "#d7301f")) +
  guides(fill = guide_legend(reverse = FALSE)) # Asegura que la leyenda esté en el orden correcto

```

Page 3
=====================================
Row {data-height=400}

### Nivel de Responsabilidad Personal y Género
```{r}
# Crear el gráfico con un gradiente de colores vibrantes y diferenciados para el nivel de responsabilidad personal
ggplot(filtered_data, aes(x = gndr, fill = factor(ccrdprs_segmented, levels = c("Bajo", "Medio", "Alto")))) +
  geom_bar(position = "stack", stat = "count") +
  theme_minimal() +
  labs(x = "Genero", y = "Conteo", fill = "Nivel de Responsabilidad") +
  scale_fill_manual(values = c("Bajo" = "#fdcc8a", "Medio" = "#fc8d59", "Alto" = "#d7301f")) +
  guides(fill = guide_legend(reverse = FALSE)) # Asegura que la leyenda esté en el orden correcto

```